#ifndef EMS_SERVICE_ALARM_MANAGER_H
#define EMS_SERVICE_ALARM_MANAGER_H

#include <memory>
#include <thread>
#include <atomic>

namespace ems {
namespace service {

class AlarmManager {
public:
    AlarmManager();
    ~AlarmManager();
    
    bool initialize();
    void start();
    void stop();
    
    bool isRunning() const { return running_; }

private:
    std::atomic<bool> running_;
    std::thread alarmThread_;
    
    void alarmLoop();
};

}  // namespace service
}  // namespace ems

#endif  // EMS_SERVICE_ALARM_MANAGER_H